#include "plugin_base_impl.h"

namespace OHOS {
namespace Media {
namespace Plugin {

PluginBaseImpl::PluginBaseImpl(std::string name) :
    name_(std::move(name)),callback_(nullptr), allocator_(nullptr)
{
    MEDIA_LOG_I("PluginBaseImpl ctor, name: %s", name_.c_str());
}

Status PluginBaseImpl::Init()
{
    return Status::OK;
}

Status PluginBaseImpl::Deinit()
{
    return Status::OK;
}
Status PluginBaseImpl::Prepare()
{
    return Status::OK;
}
Status PluginBaseImpl::Reset()
{
    return Status::OK;
}
Status PluginBaseImpl::Start()
{
    return Status::OK;
}
Status PluginBaseImpl::Stop()
{
    return Status::OK;
}
bool PluginBaseImpl::IsParameterSupported(Tag tag)
{
  return false;
}
Status PluginBaseImpl::GetParameter(Tag tag, ValueType &value)
{
    return Status::ERROR_UNIMPLEMENTED;
}
Status PluginBaseImpl::SetParameter(Tag tag, const ValueType &value)
{
    return Status::ERROR_UNIMPLEMENTED;
}
Status PluginBaseImpl::GetState(State &state)
{
    return Status::ERROR_UNIMPLEMENTED;
}
std::shared_ptr<Allocator> PluginBaseImpl::GetAllocator()
{
    return allocator_;
}
Status PluginBaseImpl::SetCallback(const std::shared_<Callback> &cb)
{
    callback_ = cb;
    return Status::OK;
}


}
}
}